1.数据类型转换
    ①null和undefined没有转换函数
    ②number
       *--->number
       1.number(a)
            10.3----10.3
            true----1
            flase----0
            null----0
            undefined----NaN
            "hello"----NaN
            ""----0
            "10.7"----10.7
            "+10"----10
            "h10"----NaN
            "10p"----NaN
       2.parseInt(a)（变成整型）
            10.3----10
            true----NaN
            flase----NaN
            null----NaN
            undefined----NaN
            "hello"----NaN
            ""----NaN
            "10.7"----10
            "+10"----10
            "h10"----NaN
            "10p"----10
       3.parseFloat(a)
            10.3----10.3
            true----NaN
            flase----NaN
            null----NaN
            undefined----NaN
            "hello"----NaN
            ""----NaN
            "10.7"----10.7
            "+10"----10
            "h10"----NaN
            "10p"----10
       4.+a:默认调用number转换函数
       5.-(-a)
    ③boolean
        *-->
        1.Boolean()
            null----flase
            NaN----flase
            undefined----flase
            0----flase
            10----true
            ""----flase
            "hello"----true
        2.!!a
    ④string
        1.String()
             ""/''
             直接在当前变量外侧加引号
             String(null)----"null"
        2.toString(num)   number代表进制数，不写默认十进制
             null和undefined不能调用toString方法
             var a=10;
             console.log(a.toString());
        3.+""
2.流程控制语句
    ①条件分支语句
       if else
         一次判断
            if(){

            }
         两次判断
            if(){
                //true
            }else{
                //flase
            }
          三次判断  
            if(){
                //true
            }else if(){
                //true
            }else{
                //flase
            }
       switch case
          switch(key){
              case value:
                   console.log();
                   break;
              case value2:
                   console.log();
                   break;
              defaule:
                   console.log();     
          }
          break:跳出循环体，不再进行下一次循环
          continue：结束本次循环，继续执行下一次循环
    ②循环语句 
       1.基础for循环（前置条件判断语句）
           三要素：初始条件、结束条件、迭代条件
           for(var i=0;i<=5;i++){
               循环体
           }   
           label语句：
              name:for(){}
           while循环
            var i=1;
            while(结束条件){
            console.log(i);
            i++;
            }  
       2.后置条件判断
          循环体至少执行一次
           初始条件
           do{
               循环体
               迭代条件
           }while(结束条件) 
           
           var a=1;
           do{
               console.log(a);
               a++;
           }while(i<=5);
       3.增强for循环
          for in：
           var stu={
               name:'lisi',
               age:20
           }  
           for(var key in stu) {
               key-->属性名；
               stu[key]-->属性值；
           } 
       4.with语句
           with(o){
               console.log(name);
           } 
3.对象
   对象是一组属性和方法的集合
   ①创建
      1.对象字面量
          var o={
              name:'lisi',
              age:20,
              gender:'men'
          }             
      2.构造函数
          var o=new Object();
              o.name='lisi';
              o.age=20;
   ②访问
      1.点操作符：对象名.属性名
         console.log(o.name);
      2.[""] ：对象名["属性名"]
          o["name"]   
          当访问变量/标识符比较复杂的
    ③删除属性
      delete o.name               